Method of operation of a mounted weapon and system for weapon stabilization and target tracking

ABSTRACT

A system comprising: receive a first set of data collected from a set of sensors attached to a vehicle and a weapon system mounted on the vehicle; analyze the first set of data to determine if at least one target is identified within a predetermined range of the vehicle based on the weapon system; populate a user interface with the at least one targets and a set of information associated with each of the at least one targets; receive a command to focus on one of the identified targets, wherein the weapon system focuses on the identified target, wherein a point of aim is identified on the target; and adjust the weapon system based on movement of the vehicle or movement of the focused target to maintain the point of aim.

BACKGROUND

This disclosure relates generally to a mobile defense system, and more specifically to a relatively compact, armored all-terrain vehicle with a turret on top that’s compatible with conventional firearms as well as certain less than lethal weapons.

Traditionally, the job of securing a given finite area is performed by human security personnel that are co-located with their charge. Whether a private home, commercial interest, or even the space around an individual, human beings are tasked with putting their safety and sometimes their lives on the line for a paycheck. This model of security, which has remained unchanged since its inception, has two key problems.

The first of these is a reflection of human nature. While there are many highly motivated and dedicated security professionals working in the industry, none are infallible. In the course of carrying out their duty, at a critical moment (home invasions, active shooters, violent riots, etc.) they may decide, and rightly so, that their health or life is not worth risking, and abandon their post or shy away from action. A machine would not be able to make such a decision.

The second of these is the problem of cost, which itself can be broken down into two components. The first is monetary. Full time security guards, especially armed ones, are expensive to maintain. More so if the object of security is to be protected around the clock. Insurance, benefits, sick leave, vacations and so on are all expenses passed down to the consumer of security that do not directly benefit them.

The second of these is the potential cost of human lives. As a benefit of its achievement, civilized society over time tends to reduce the number of situations in which humans are exposed to the threat of physical harm. Besides military groups and police departments, private security professionals find themselves in the only other profession that pays them to be exposed to deliberate violence from other humans. Reducing the number of such jobs would aid in the preservation of human life.

A robotic platform, which can be viewed as a piece of equipment and thus does not suffer from the first aspect of cost, can provide security at a far lower price to the consumer of the service for the same and in many cases superior level of service.

Presently there is no such comprehensive security solution available on the market.

SUMMARY

A computer- implemented method comprising: receiving, by at least one processor, a first set of data collected from a set of sensors; analyzing, by the at least one processor, the first set of data to determine if a target is identified within a field of vision; identifying, by the at least one processor, at least one target within a user interface of a remotely connected computing device; populating, by the at least one processor, a second set of data associated with the at least one target within the user interface; redirecting, by the at least one processor, a point of aim of a weapon to one of the at least one targets; and tracking, by the at least one processor, the selected target.

A computer program product, the computer program product comprising a computer non-transitory readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to: receive a first set of data collected from a set of sensors; analyze the first set of data to determine if at least one target is identified within a field of vision of the set of sensors; identify at least one target within the field of vision of the set of sensors within a user interface of a remotely connected computing device is populated with markings indicating the at least one target; populate a second set of data associated with the at least one target within the user interface; receiving a command to aim a weapon at one of the at least one target; redirect the weapon to point at the selected target, and a point of aim of the weapon within the user interface is directed to the selected target; and tracking the selected target regardless of the movement of the target or the vehicle.

A system comprising: a CPU, a computer readable memory and a computer non-transitory readable storage medium associated with a computing device; receive a first set of data collected from a set of sensors attached to a vehicle and a weapon system mounted on the vehicle; analyze the first set of data to determine if at least one target is identified within a predetermined range of the vehicle based on the weapon system; populate a user interface with the at least one targets and a set of information associated with each of the at least one targets; receive a command to focus on one of the identified targets, wherein the weapon system focuses on the identified target, wherein a point of aim is identified on the target; and adjust the weapon system based on movement of the vehicle or movement of the focused target to maintain the point of aim.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers represent corresponding parts throughout:

FIG. 1 depicts a cloud computing node, according to an embodiment of the present invention.

FIG. 2 depicts a cloud computing environment, according to an embodiment of the present invention.

FIG. 3 depicts a block diagram depicting a computing environment, according to an embodiment of the present invention.

FIG. 4 depicts a block diagram depicting a mobile defense system, according to an embodiment of the present invention.

FIG. 5 depicts a flowchart of the operational steps taken to identify a potential target, according to an embodiment of the present invention.

FIG. 6 depicts a flowchart of the operational steps taken to shoot at a target, according to an embodiment of the present invention

FIG. 7 depicts an illustration of a user interface prior to the identification of a target, according to an embodiment of the present invention.

FIG. 8 depicts an illustration of a user interface post to the identification of a target, according to an embodiment of the present invention.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects may generally be referred to herein as a “circuit,” “module”, or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code/instructions embodied thereon.

The present invention relates to a semi-autonomous, remote-controllable mobile security robot (“platform”). More specifically, the invention relates to a relatively compact, armored all-terrain vehicle with a turret on top that’s compatible with conventional firearms as well as certain less than lethal weapons. The system has some autonomous behavioral capability but is primarily controlled by a remote operator through a software system that connects the operator to the robot over the internet.

The present invention relates to a semi-autonomous, remote-controllable mobile security robot. More specifically, the invention relates to a relatively compact, armored all-terrain vehicle with a turret on top that’s compatible with conventional firearms as well as certain less than lethal weapons. The system has some autonomous behavioral capability but is primarily controlled by a remote operator through a software system that connects the operator to the robot over the internet.

The present invention seeks to provide a solution to these problems by creating a mobile, semi-autonomous, remote-controllable security platform. The platform is controlled by a remote operator via the internet and has some limited autonomous behaviors that it can be programmed to follow.

The present invention seeks to provide a solution by creating a mobile, semi-autonomous, remote-controllable security platform. The platform can be controlled by a remote operator via the internet, and also has the ability to be autonomous in nature.

The platform makes use of various sensing devices (e.g., cameras, microphones, and the like) that feed audio and video data to a remote operator over an online protocol. The operator sees and hears from the viewpoint of the platform and can issue commands to it which are acted upon in real time. The platform can be made to execute basic sentry type tasks wherein it monitors a defined workspace and alerts the operator whenever certain conditions are encountered. These conditions can include unidentified humans or vehicles, ballistic discharges or explosions, or other programmed occurrences. Once alerted, the operator can immediately assume full control of the platform and act as necessary. The platform can also remain dormant in a waiting pattern until an alarm is triggered, at which point it will become active as well as alert the operator. In some embodiments, the platform itself would have no offensive capabilities whatsoever while executing any kind of autonomous routines. The decision to shoot or take other aggressive action would remain solely in the hands of the human operator. The platform’s primarily functional component is an adaptable turret, which may interchangeably and trivially equip various firearms, projectile shooters, and offensive add-ons.

The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.

Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user’s computer, partly on the user’s computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.

These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowcharts and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

It is understood in advance that although this disclosure includes a detailed description on cloud computing, implementation of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.

Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service’s provider.

Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

Measured service: cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).

A cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes.

Referring now to FIG. 1 , a schematic of an example of a cloud computing node is shown. Cloud computing node 10 is only one example of a suitable cloud computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the invention described herein. Regardless, cloud computing node 10 is capable of being implemented and/or performing any of the functionality set forth hereinabove.

In cloud computing node 10 there is a computer system/server 12, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.

Computer system/server 12 may be described in the general context of computer system executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system/server 12 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

As shown in FIG. 1 , computer system/server 12 in cloud computing node 10 is shown in the form of a general-purpose computing device. The components of computer system/server 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including system memory 28 to processor 16.

Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.

Computer system/server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12, and it includes both volatile and non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the form of volatile memory, such as random-access memory (RAM) 30 and/or cache memory 32. Computer system/server 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 34 can be provided for reading from and writing to a nonremovable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 18 by one or more data media interfaces. As will be further depicted and described below, memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42, may be stored in memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 42 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.

Computer system/server 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; one or more devices that enable a user to interact with computer system/server 12; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22. Still yet, computer system/server 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 20. As depicted, network adapter 20 communicates with the other components of computer system/server 12 via bus 18. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 12. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

Referring now to FIG. 2 , illustrative cloud computing environment 50 is depicted. As shown, cloud computing environment 50 comprises one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone 54A, desktop computer 54B, and laptop computer 54C may communicate. Nodes 10 may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment 50 to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices 54A-C shown in FIG. 2 are intended to be illustrative only and that computing nodes 10 and cloud computing environment 50 can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).

FIG. 3 depicts a block diagram of a computing environment 100 in accordance with one embodiment of the present invention. FIG. 1 provides an illustration of one embodiment and does not imply any limitations regarding the environment in which different embodiments maybe implemented.

In the depicted embodiment, computing environment 300 includes network 102, computing system 104, operator computing device 106, server 108, targeting program 110, weapon utilization program 112, and database 114. Computing environment 300 may include additional servers, computers, or other devices not shown.

Network 102 may be a local area network (LAN), a wide area network (WAN) such as the Internet, any combination thereof, or any combination of connections and protocols that can support communications between computing system 104, operator computing device 106, server 108 in accordance with embodiments of the invention. Network 102 may include wired, wireless, or fiber optic connections.

Computing system 104 may be a management server, a web server, or any other electronic device or computing system capable of processing data, processing program instructions, and receiving and sending data. The computing system 104 may be integrated into the vehicle 401 or may be integrated into the weapon system 405. In some embodiments, computing system 104 may be a laptop computer, tablet computer, netbook computer, personal computer (PC), a desktop computer, or any programmable electronic device capable of communicating with operator computing device 106, server 108 via network 102. In other embodiments, computing system 104 may represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In another embodiment, computing system 104 represents a computing system utilizing clustered computers and components to act as a single pool of seamless resources. In the depicted embodiment, computing system 104 includes, targeting program 110, weapon utilization program 112. In other embodiments, computing system 104 may include any combination of, targeting program 110, weapon utilization program 112. Computing system 104 may include components, as depicted and described in further detail with respect to FIG. 1 . The computing system 104 is responsible for organizing data storage, running an operating system, amongst other functions. The computing system 104 is responsible for connecting with peripheral devices including wireless communication units, graphical processing units, sensors, cameras, motor drivers, lights, speakers, microphones, and many other devices.

Operator computing device 106 may be a management server, a web server, or any other electronic device or computing system capable of processing program instructions and receiving and sending data. In other embodiments, operator computing device 106 may be a laptop computer, tablet computer, netbook computer, personal computer (PC), a desktop computer, or any programmable electronic device capable of communicating with computing system 104 and server 108 via network 102. In other embodiments, operator computing device 106 may be a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In one embodiment, operator computing device 106 represents a computing system utilizing clustered computers and components to act as a single pool of seamless resources. operator computing device 106 may include components, as depicted and described in further detail with respect to FIG. 1 .

Server 108 may be a management server, a web server, or any other electronic device or computing system capable of processing program instructions and receiving and sending data. In other embodiments server 108 may be a laptop computer, tablet computer, netbook computer, personal computer (PC), a desktop computer, or any programmable electronic device capable of communicating via network 102. In one embodiment, server 108 may be a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In one embodiment, server 108 represents a computing system utilizing clustered computers and components to act as a single pool of seamless resources. In the depicted embodiment database 114 is located on server 108. Server 108 may include components, as depicted and described in further detail with respect to FIG. 1 .

Targeting program 110 operates to perform the analysis of the surroundings to determine the presence of an object or target which is to be interacted with. The targeting program 110 may operate autonomously or semi-autonomously depending on the operators intended control protocol. With the various sensors positioned on the vehicle, which is patrolling, the data collected by the sensors is processed to determine objects or potential targets which are identified as potential threats. In the depicted embodiment, targeting program 110 utilizes network 102 to access the operator computing device 106 and the server 108, and communicates with database 114. In one embodiment, targeting program 110 resides on computing system 104. In other embodiments, targeting program 110 may be located on another server or computing device, provided targeting program 110 has access to the computing system 104, operator computing device 106, and server 108.

Weapon utilization program 112 operates to allow control of the weapon or firing system onboard the vehicle and performs the necessary adjustments to the mounting system (e.g., mount, arm, stabilizers, motors, etc.) and the weapon system (e.g., ammunition feeder and weapon). The weapon utilization program 112 may operate autonomously, semi-autonomously, or manual based on the operator’s control settings. In the depicted embodiment, targeting program 110 utilizes network 102 to access the operator computing device 106 and the server 108, and communicates with database 114. In one embodiment, weapon utilization program 112 resides on computing system 104. In other embodiments, weapon utilization program 112 may be located on another server or computing device, provided weapon utilization program 112 has access to the computing system 104, operator computing device 106, and server 108.

Database 114 may be a repository that may be written to and/or read by computing system 104, targeting program 110, weapon utilization program 112, and operating computing device 106. In one embodiment, database 114 is a database management system (DBMS) used to allow the definition, creation, querying, update, and administration of a database(s). In the depicted embodiment, database 114 resides on computing system 104. In other embodiments, database 114 resides on another server, or another computing device, provided that database 114 is accessible to computing system 104, targeting program 110, weapon utilization program 112, and operating computing device 106.

The computing system 104, the targeting program 110, and the weapon utilization program 112 involves running a set of algorithms, machine learning algorithms and AI models on the images. For the embodiment specified the machine learning models and algorithms used are to identify unauthorized firearms, persons, vehicles, creatures, and other dangers or suspicious activity.

In additional embodiments, there may be a movement control program, wherein the movement control program is integrated into the vehicle 401 to control the direction and movement of the vehicle 401 based on the vehicle 401 abilities. This movement of the vehicle 401 may be autonomous or may be manually controlled. In some embodiments, the movement of the vehicle 401 may be dependent upon the commands, requests, orders, or decisions of the targeting program 110 and the weapon utilization program 112 so as to successfully perform those operations. This may involve the movement of the vehicle 401 to maintain aim of a target, or to identify a target. In some embodiments, the movement control program may provide for autonomous movement of the vehicle 401 and this information is provided to the targeting program 110, and the weapon utilization program 112 to make proper adjustments.

FIG. 4 depicts a block diagram 400 depicting a mobile defense system, according to an embodiment of the present invention. The mobile defense system is comprised of a vehicle 401 that provides for the ability to mobilize the weapon system. This may be, but not limited to, an all-terrain vehicle, a drone, or other vehicles which are mobile and able to be controlled remotely. In some embodiments, the vehicle 401 is not required or needed and the weapon system is mounted to a stationary object or surface. Integrated into the vehicle 401 is a power unit 402. This may be a battery or the like which is able to provide adequate power to the vehicle 401 and the mounted systems. In some embodiments, where the power unit 402 is a battery, a renewable energy source system (e.g., solar panels) may be integrated into the vehicle 401 to extend the run time. Secured to the vehicle 401 is a mounting system 402. The mounting system 403 includes, but not limited to, a base mount, an arm(s), motors, stabilizers, gimbals, motors, joints, actuators, and the like which are needed to articulate the weapon, the weapon mount, or the various members or elements of the mounting system to point at the target regardless of the direction of the vehicle 401. Secured to the mounting system 403 is the weapon system 405. The weapon mounting system provides for a full 6 degrees of freedom of rotation such that the system provides for freedoms roll, pitch, and yaw. In the depicted embodiment, the dashed lines show electrical connections, and the solid lines show physical or mechanical connections between the parts.

The weapon system 405 provides for the mount and firing mechanisms required for the weapon type. The weapon system 405 is designed to accept conventional firearms chambered in the most common calibers, so that consumers of the platform may provide their own munitions. In other embodiments different adapters may be provided to support a variety of offensive capability including but not limited to paintball guns, high pressure water guns, and taser prongs. In all embodiments the turret system contains actuating mechanisms to trigger the offensive capability. In some embodiments a camera or cameras and sensors may be attached to the weapon system 405 to provide point of view for the operator and to collect data and control the weapon.

A feeder system 404 is integrated into the weapon system 405 to provide the feeding of the ammunition. The feeder system 404 contains a linkage method with the weapon system 405 which allows for structural stability and a pathway for ammunition to flow to the weapon. There is also an external port, lid, or otherwise which enables safe refilling of the repository with more offensive materials. The feeder system 404 is based on the weapon type and the ammunition type, this may be bullets, paintballs, water, or various other items which can be used as a projectile. In some embodiments, the feeding system 404 is integrated into the mounting system 403.

The vehicle 401, in embodiments where the vehicle 401 is used, has an integrated computing system 407 which provides the controls of the various systems on board. In embodiments, where the vehicle 401 is not used, these systems and programs are integrated into the weapon system. This can range from the movement and control of the direction of the vehicle 401 to the control and activation of the mounting system 403, the feeder system 404, and the weapon system 405. The computing system 407 is connected to network 102 to allow an operator to remotely control the systems and the vehicle 401 as well. A plurality of sensors (e.g. cameras, microphones, motion sensors, positioning units, accelerometers, light and sound responsive sensors, and the like) are integrated into the vehicle 401 to collect environmental data and data associated with the vehicle 401 (e.g. position, velocity, etc.) to both provide to the operator as well as to process with the onboard computing system 407 to both control the path of the vehicle 401 (e.g. overcome obstacles), identify targets, or to activate the mounting system 403, the feeder system 404, and/or the firearm system 405. In some embodiments, the vehicle 401 controls are separate from the weapon system controls. In some embodiments, the vehicle drive system is autonomous, and the weapon system is manually controlled.

The data collected by the sensors is provided to the operator in a variety of formats. This may be with a plurality of views (e.g., different screens for each camera) or the camera feeds may be stitched together to produce a wide-angle view of the environment.

FIG. 5 depicts a flowchart of the operational steps taken to identify a target fire a weapon of the mobile defense system, according to an embodiment of the present invention. The method(s) and associated process(es) are now discussed, over the course of the following paragraphs, with extensive reference to FIG. 2 , in accordance with one embodiment of the present invention.

The program(s) described herein are identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.

In step 501, targeting program 110 collects data from sensors. In step 501 the target program 110 collects data from the various sensors mounted on the vehicle 401. Given the various types of sensors mounted on the vehicle 401, the sensors may cover a predetermined area around the vehicle 401 (e.g., full 360-degree coverage). The sensors may be set to detect within a predetermined range from the vehicle 401 at a predetermined decibel, or the like based on the type of sensor and the data which the sensor can collect.

In step 502, targeting program 110 determines if a target is identified. Based on the data collected by the sensors, the targeting program 110 determines if a target (or a potential target) is within the range of the vehicle 401. Through the use of the onboard computing system, the targeting program 110 is able to use artificial intelligence and machine learning to determine if a target is present. This may be based on data related to specific characteristics of what a target is (e.g., human versus animal) or the like. In some embodiments, the targeting program 110 is able to get a baseline of the environment and determine when a change in that baseline has occurred. For example, a room full of set stationary objects, if a new object is present in the room, it is identified as a potential target. If targeting program 110 determines that a target (or potential target) is detected (YES branch, proceed to step 501) target program 110 identifies the target location. If targeting program 110 determines that no target is identified (NO branch, proceed to step 504) the targeting program 110 continues to scan for targets.

In one embodiment, the sensors and cameras exist around the base of the mounting system, which serve to generate a 360-degree view around the vehicle 401, identifying and noting all targets with respect to a 3D cartesian plane in which the vehicle 401 serves as the origin. Distances are approximated visually by using average human height, head size, and torso size which are known entities. For targets which are not human, the distance is approximated by using the size of the object and the collected sensor data. Targets and positions are communicated and identified in real time and a target queue is updated every computation cycle.

In step 503, the targeting program 110, identifies the location of the target. Through the use of the sensors and the collected data (either previously collected or through a continuous stream of collected data) the target program 110 is able to identify a location (or an approximate location) of the potential target. In some embodiments where several targets are identified, the targeting program 110 is able to identify the location of the targets based on proximity to the vehicle 401, threat level, or other factors. As the targeting program 110 identifies multiple targets, the previously identified targets are continuously tracked as the targeting program 110 continues to scan for additional targets. In some embodiments, the vehicle 401 may continue to move while this targeting step is performed, in other embodiments the vehicle 401 stops or maintains a specific position while the identification step is being performed.

In step 504, the targeting program 110 relays the location and target information to the operator. Once the targeting program 110 identifies at least one target the information is relayed to the operator’s computing device. Through the computing device, the operator is able to see the targets. The operating is provided a visual indicator of the target (e.g., a box or outline) of the target’s location. This provides the operator a clear indication of what the targeting program 110 has identified. In some embodiments, target related information is provided to the operator. This may be, but not limited to, a threat level indicator, distance to the target, and information related to multiple targets is more than one target is identified.

The scanning for targets and identification of targets is performed continuously until an order or direction from an operator. While the targeting program 110 is identifying targets the scanning is continuously performed to identify additional targets. This also provides for accurate information as the vehicle 401 moves, changes location, or as the target moves.

FIG. 6 depicts a flowchart of the operational steps to fire a weapon of the mobile defense system, according to an embodiment of the present invention. The method(s) and associated process(es) are now discussed, over the course of the following paragraphs, with extensive reference to FIG. 2 , in accordance with one embodiment of the present invention.

The program(s) described herein are identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.

In step 601, weapon utilization program 112 display a point of aim that shows where the weapon is aiming. Through the operators computing device, they are provided with a visual representation of what the sensors on the vehicle 401 are seeing, and creates a user interface which identifies the targets, the environment, and the point of aim of the weapon. The point of aim may be a cross hair or some other indicator for the operator. This feed is intended to be continuous to provide a real time feed to the operator. Depicted in FIG. 7 is an illustration of an embodiment of a user interface 700. The illustration shows the cross hairs 704 and targets 701, 702, and 703. The user interface may include environmental elements or other visual features of the images or video captured by the sensors. The operator may also be able to hear audio received by the sensors as well.

In step 602, weapon utilization program 112, receives the information collected from the targeting program 110 to identify the location, distance, an environmental condition to assist the weapon utilization program with properly articulating and aiming the weapon so if a shot is fired, it will hit the target. This information is used to assist the weapon utilization program 112 in adjusting the direction and positioning of the weapon if it is requested that the target is fired upon. Depicted in FIG. 8 , an embodiment of a user interface showing the targets 701, 702, and 703 are identified as targets based on the outlines 801, 802, and 803 respectively. Additionally, the targets are identified as either a person or a non-person object. The distance 804 is shown below the target.

In step 603, weapon utilization program 112 receives a command to track a target. The operator, through the user interface is able to select a target, where the weapon utilization program 112 proceed to lock on to that target and track the target as it moves or while the vehicle 401 is in motion. In some embodiments, the operator may manually aim the weapon. The operator is able to select a target, which will trigger the data from the cameras to be processed by a machine learning algorithm that identifies human shapes, animalistic threats, and other perceived threats. In some embodiments, the weapon utilization program 112 will track the closest target, or a target of perceived higher threat level than the rest. In FIG. 8 the target 702 is selected and the crosshairs 704 are focused on the target’s chest. As the target 802 moves, or the vehicle 401 moves, the weapon will remain fixed on this target until the operator selects another target, or the program identifies that one of the other targets is a greater threat and identify the other target as such.

In step 604, weapon utilization program 112 determines a desired target impact location(s). Based on the target location, the environmental conditions, and the weapon abilities and limitations. The weapon utilization program 112 creates at least one location at which the target will be hit, and based on the target type, an impact location which will provide the highest probability of a successful hit.

In step 605, weapon utilization program 112 maintains the target within the point of aim. If the target is mobile, or if the vehicle 401 is moving, the weapon utilization program will adjust the mount, arm, and weapon to maintain a visual of the target. In some instances, the cross hair or indicator will remain on the target instead of just keeping the target in view. In some embodiments, the operator may choose to select a target and the weapon utilization program 112 maintains the indicator on that target or location as the target or the vehicle 401 moves, and adjusts the mount, arm, and weapon accordingly. The weapon utilization program 112 articulates the weapon and the weapon mount to maintain the target within the point of aim. Given the movement of the vehicle 401, the target, or the environment. The weapon utilization program 112 adjusts the weapon so that if a shot is required, the weapon is positioned to hit the target or the point at which the operator requests. These adjustments are performed regardless of the user interface imaging, so that the intended hit marker will be hit regardless of these other factors. While locked on, the weapon automatically tracks the target, without the operator having to manually pan and tilt the weapon. The operator may then jump from target to target, as long as there is more than one such target identified by the algorithm. This facilitates target tracking and allows the operator to focus on platform movement and other actions.

In step 606, weapon utilization program 112 is provided an indication to fire the weapon at the target. Once the operator indicates that the weapon be fired, the weapon utilization program 112 activates the weapon feeder system and the weapon to fire at least one shot at the target and make any final adjustments to the positioning of the weapon before the shot is fired. In some embodiments this process is performed autonomously.

In step 607, weapon utilization program 112 provides an indication of a hit location of the fired shot. From an analysis of the data collected by the sensors after the shot is fired, the weapon utilization program 112.

In some embodiments, where the vehicle 401 is attached, the weapon utilization program 112 and the targeting program 110 may activate automatically and enter a defensive mode where the vehicle 401 attempts to engage with the targets or escape from the situation based on the computing system 104 analysis of the situation. In this mode the operator may be overridden, and the computing system 104 may act autonomously.

In some embodiments, the systems can be set to run in a patrol mode, which takes as an input a predefined GPS zone in which to perform patrol. Once set, the vehicle 401 operates autonomously patrols the area using its cameras, and sensors to navigate and avoid obstacles (FIG. 7 ). Machine learning algorithms are deployed to stitch together the data from the various sensors and cameras (e.g., sensor fusion). Camera based computer vision algorithms keep track of suspicious activity (including but not limited to animals, humans, weapons, etc.) and report this activity to the operator through either audio or visual alerts. The operator then may decide to flag suspicious threats as non-suspicious for the machine learning algorithms to correct themselves for future operation, or the operator may inform authorities, or the operator may operate the machine engaging the turret system and onboard communication devices to deal with the suspicious and threatening activity.

In some embodiments, a sheath may be integrated into the design of the device, and when the weapon is not in use or in targeting mode, the weapon may be sheathed so as to limit accidental firing of the weapon and to create a position of the weapon, wherein the weapon activation system is deactivated for safety purposes.

The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.

Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user’s computer, partly on the user’s computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, to perform aspects of the present invention.

Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.

These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

Present invention: should not be taken as an absolute indication that the subject matter described by the term “present invention” is covered by either the claims as they are filed, or by the claims that may eventually issue after patent prosecution; while the term “present invention” is used to help the reader to get a general feel for which disclosures herein that are believed as maybe being new, this understanding, as indicated by use of the term “present invention,” is tentative and provisional and subject to change over the course of patent prosecution as relevant information is developed and as the claims are potentially amended.

The foregoing descriptions of various embodiments have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations of the present invention are possible in light of the above teachings will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. In the specification and claims the term “comprising” shall be understood to have a broad meaning similar to the term “including” and will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps. This definition also applies to variations on the term “comprising” such as “comprise” and “comprises”.

Although various representative embodiments of this invention have been described above with a certain degree of particularity, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of the inventive subject matter set forth in the specification and claims. Joinder references (e.g., attached, adhered, joined) are to be construed broadly and may include intermediate members between a connection of elements and relative movement between elements. As such, joinder references do not necessarily infer those two elements are directly connected and in fixed relation to each other. Moreover, network connection references are to be construed broadly and may include intermediate members or devices between network connections of elements. As such, network connection references do not necessarily infer those two elements are in direct communication with each other. In some instances, in methodologies directly or indirectly set forth herein, various steps and operations are described in one possible order of operation, but those skilled in the art will recognize that steps and operations may be rearranged, replaced or eliminated without necessarily departing from the spirit and scope of the present invention. It is intended that all matter contained in the above description or shown in the accompanying drawings shall be interpreted as illustrative only and not limiting. Changes in detail or structure may be made without departing from the spirit of the invention as defined in the appended claims.

Although the present invention has been described with reference to the embodiments outlined above, various alternatives, modifications, variations, improvements and/or substantial equivalents, whether known or that are or may be presently foreseen, may become apparent to those having at least ordinary skill in the art. Listing the steps of a method in a certain order does not constitute any limitation on the order of the steps of the method. Accordingly, the embodiments of the invention set forth above are intended to be illustrative, not limiting. Persons skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. Therefore, the invention is intended to embrace all known or earlier developed alternatives, modifications, variations, improvements and/or substantial equivalents. 

What is claimed is:
 1. A computer- implemented method comprising: receiving, by at least one processor, a first set of data collected from a set of sensors; analyzing, by the at least one processor, the first set of data to determine if a target is identified within a field of vision; identifying, by the at least one processor, at least one target within a user interface of a remotely connected computing device; populating, by the at least one processor, a second set of data associated with the at least one target within the user interface; redirecting, by the at least one processor, a point of aim of a weapon to one of the at least one targets; and tracking, by the at least one processor, the selected target.
 2. The computer- implemented method of claim 1, wherein the redirecting of the point of aim of the weapon further comprises, adjusting, by one or more processors, the point of weapon based on the second set of data.
 3. The computer- implemented method of claim 1, further comprises, identifying, by the at least one processor, a target impact location in the user interface.
 4. The computer- implemented method of claim 1, further comprising, after receiving a command to fire the weapon, and the weapon firing, generating, by the at least one processor, a target impact location.
 5. The computer- implemented method of claim 1, wherein the tracking of the selected target, further comprises, selecting, by the at least one processor, one of the non-selected at least one targets and shifting the point of aim to the newly selected target.
 6. The computer- implemented method of claim 1, further comprising, controlling, by the at least one processor, a vehicle, wherein the weapon is attached to the vehicle, wherein the controlling of the vehicle does not affect the tracking of the selected target.
 7. The computer- implemented method of claim 1, further comprising, controlling, by the at least one processor, an ammunition feeding system based on the firing of the weapon.
 8. The computer- implemented method of claim 1, articulating, by the at least one processor, a weapon mounting system based on the point of aim.
 9. A computer program product, the computer program product comprising a computer non-transitory readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to: receive a first set of data collected from a set of sensors; analyze the first set of data to determine if at least one target is identified within a field of vision of the set of sensors; identify at least one target within the field of vision of the set of sensors within a user interface of a remotely connected computing device is populated with markings indicating the at least one target; populate a second set of data associated with the at least one target within the user interface; receiving a command to aim a weapon at one of the at least one target; redirect the weapon to point at the selected target, and a point of aim of the weapon within the user interface is directed to the selected target; and tracking the selected target regardless of the movement of the target or the vehicle.
 10. The computer program product of claim 9, further comprising, adjust the point of weapon based on the second set of data.
 11. The computer program product of claim 9, further comprising, identifying a target impact location in the user interface.
 12. The computer program product of claim 9, after receiving a command to fire the weapon, and the weapon firing, generate a target impact location in the user interface.
 13. The computer program product of claim 9, wherein the tracking of the selected target, further comprises, select one of the non-selected at least one targets and shifting the point of aim to the newly selected target.
 14. The computer program product of claim 9, further comprising, control a vehicle, wherein the weapon is attached to the vehicle, wherein a weapon system independently is controlled to maintain the point of aim on the selected target.
 15. The computer program product of claim 9, further comprising, control an ammunition feeding system based on the firing of the weapon.
 16. A system comprising: a CPU, a computer readable memory and a computer non-transitory readable storage medium associated with a computing device; receive a first set of data collected from a set of sensors attached to a weapon system; analyze the first set of data to determine if at least one target is identified within a predetermined range of the weapon system; populate a user interface with the at least one target and a set of information associated with each of the at least one targets; receive a command to focus on one of the identified targets, wherein the weapon system focuses on the identified target, wherein a point of aim is identified on the target; and adjust the weapon system based on movement of the focused target to maintain the point of aim.
 17. The system of claim 16, further comprising receiving a command to fire the weapon, and collecting a second set of data to determine a point of contact of the focused target and identifying the point of contact in the user interface.
 18. The system of claim 16, further comprising, controlling an ammunition feeding system based on the firing of the weapon.
 19. The system of claim 16, further comprising, identifying a point of aim for each of the targets.
 20. The system of claim 17, wherein the selection of new target repositions the weapon system to focus on the newly selected target. 